package com.neusoft.NursingHome.dao;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.neusoft.NursingHome.po.Customer;

public interface CustomerDao extends BaseMapper<Customer> {

//	查询所有的客户  baseMapper中selectList


	/**
	 * 通过姓名模糊查询客户 name 客户姓名
	 */
	List<Customer> selectCustomerByName(String name);

	/**
	 * 通过客户类型筛选（护理/自理） type 客户类型
	 */
	List<Customer> selectByType(String type);

	/**
	 * 根据ID查询客户详情 id 客户ID
	 */
	Customer selectCustomerById(Integer id);

	/**
	 * 获取所有没有健康管家的护理老人
	 */
	List<Customer> getCustomersWithoutHealthManager();

	/**
	 * 分配健康管家 customerId 客户ID userId 护工ID
	 */
	int assignmentManagerToCustomer(Integer customerId, Integer userId);

	/**
	 * 查询护工服务的所有客户 userId 护工ID
	 */
	List<Customer> selectByUserId(Integer userId);

	/**
	 * 将客户的护工置为空 customerId 客户ID
	 */
	int deleteUser(Integer customerId);

	/**
	 * 逻辑删除客户（更新status为0） customerId 客户ID
	 */
	int logicalDelete(Integer customerId);
	
//	添加和修改客户baseMapper已有
	 /**
     * 根据客户 ID 移除其关联的护理级别
     * @param customerId 客户的唯一标识符
     * @return 移除是否成功
     */
    int removeCustomerLevel(Integer customerId);
    /**
     * 通过老人类型和姓名模糊查询客户
     * @param name 客户姓名
     * @return 客户列表
     */
    List<Customer> searchCustomersByNameAndType(String name,String type);
    /**
     * 根据客户名称和没有护工（user_id 为空）模糊查询客户
     * @param name 客户姓名
     * @return 客户列表
     */
    List<Customer> searchCustomersByNameWithoutUserId(String name);

}
